home *** CD-ROM | disk | FTP | other *** search
/ Columbia Kermit / kermit.zip / newsgroups / misc.20031118-20041115 / 000432_fdc@columbia.edu_Tue Nov 2 14:52:51 2004.msg < prev    next >
Text File  |  2020-01-01  |  3KB  |  61 lines

  1. Path: newsmaster.cc.columbia.edu!not-for-mail
  2. From: Frank da Cruz <fdc@columbia.edu>
  3. Newsgroups: comp.protocols.kermit.misc
  4. Subject: Re: How to compile kermit w/o buffers???
  5. Date: 2 Nov 2004 19:52:33 GMT
  6. Organization: Columbia University
  7. Lines: 44
  8. Message-ID: <slrncofpc1.etl.fdc@sesame.cc.columbia.edu>
  9. References: <cm8lit$n11$1@zcars0v6.ca.nortel.com>
  10. Reply-To: fdc@columbia.edu
  11. NNTP-Posting-Host: sesame.cc.columbia.edu
  12. X-Trace: newsmaster.cc.columbia.edu 1099425153 6784 128.59.59.56 (2 Nov 2004 19:52:33 GMT)
  13. X-Complaints-To: postmaster@columbia.edu
  14. NNTP-Posting-Date: 2 Nov 2004 19:52:33 GMT
  15. User-Agent: slrn/0.9.8.0 (SunOS)
  16. Xref: newsmaster.cc.columbia.edu comp.protocols.kermit.misc:15216
  17.  
  18. On 2004-11-02, Robert Simmons <robertls@nortelnetworks.com> wrote:
  19. : I got side tracked with other tasks and failed to copy the information you
  20. : sent on how to recompile the kermit with no buffers. Now the thread is no
  21. : longer available.  Can you please reply to me with your last correspondence
  22. : to the thread below?
  23. :
  24. I can't seem to find it either but anyway, in the Unix version of Kermit,
  25. in the module ckutio.c, in routine concb(), nested within all sorts of
  26. confusing sequences of #ifdefs, you'll see (in several places):
  27.  
  28. #ifndef NOSETBUF
  29.     if (x > -1) {
  30.     setbuf(stdout,NULL);    /* Make console unbuffered. */
  31.     debug(F100,"concb setbuf B","",0);
  32.     }
  33. #endif /* NOSETBUF */
  34.  
  35. This has a long and convoluted history.  Briefly, on some platforms buffered
  36. output could not be used for console i/o for various reasons, so a setbuf()
  37. call was added.  But it soon developed that on certain other platforms,
  38. unbuffered i/o could *not* be used because it was SOOOOOO SLOOOOOOOOOOOW, so
  39. the NOSETBUF macro was added to select this feature at compile time, and then
  40. -DNOSEBUF added as needed to different makefile entries.  Eventually the
  41. platforms that needed the setbuf() call mostly vanished from the scene, so
  42. #define SETBUF was added in the ckcdeb.h header file for most builds.  But
  43. then it became necessary for other reasons to be able to undo the -DNOSEBUF
  44. from the 'make' command line, so a second macro was added, -DNONOSETBUF.  So
  45. first try this:
  46.  
  47.     make xxxxx "KFLAGS=-DNONOSETBUF"
  48.  
  49. If that works, fine.  If not, you'll have to see if the setbuf() call was
  50. actually compiled and executed.  You can tell by starting Kermit with a debug
  51. log:
  52.  
  53.     kermit -d
  54.  
  55. (just start it and exit).  Then look in the debug.log file for "concb setbuf".
  56. If you find it then I would have to start wondering what setbuf() was good
  57. for.  If you don't, then you'll have add a setbuf(stdout,NULL) call to
  58. concb() someplace where it will actually be compiled.  Let me know what
  59. happens.
  60.  
  61. - Frank